package com.nnnu.orange.service;

import com.nnnu.orange.pojo.dto.*;
import com.nnnu.orange.pojo.entity.Comments;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nnnu.orange.pojo.vo.CommentsVo;
import com.nnnu.orange.result.PageResult;

/**
 * <p>
 * 存储图书评论的详细信息 服务类
 * </p>
 *
 * @author zk
 * @since 2024-11-07
 */
public interface ICommentsService extends IService<Comments> {
    /**
     * 分页查询图书评论
     *
     * @param queryDto dto
     * @return 分页列表
     */
    PageResult<CommentsVo> list(CommentQueryDto queryDto);

    /**
     * 管理员新增图书评论
     *
     * @param commentDto dto
     * @return 是否添加成功
     */
    Boolean save(CommentDto commentDto);

    /**
     * 修改某个图书的置顶情况
     *
     * @param topDto dto
     */
    void updateBookCommentTop(CommentTopDto topDto);

    /**
     * 修改某个图书下的评论状态
     *
     * @param statusDto dto
     */
    void updateBookCommentStatus(CommentStatusDto statusDto);

    /**
     * 修改图书某条评论
     *
     * @param commentDto dto
     */
    void updateById(CommentUpdateDto commentDto);

}
